package com.sxt.springcloud.bus.fallback;

import com.sxt.bus.vo.SalesVo;
import com.sxt.springcloud.bus.SalesClientService;
import com.sxt.sys.common.DataGridView;
import com.sxt.sys.common.ResultObj;
import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;

@Component
public class SalesClientFallbackService implements FallbackFactory {
    @Override
    public Object create(Throwable throwable) {
        return new SalesClientService(){

            /**
             * 查询
             *
             * @param salesVo
             */
            @Override
            public DataGridView loadAllSales(SalesVo salesVo) {
                return new DataGridView("服务降级，服务器忙，请稍后重试！调用查询所有销售方法失败");
            }

            /**
             * 添加
             *
             * @param salesVo
             */
            @Override
            public ResultObj addSales(SalesVo salesVo) {
                return ResultObj.SERVER_BUSY;
            }

            /**
             * 添加
             *
             * @param salesVo
             */
            @Override
            public ResultObj addMenzhenSales(SalesVo salesVo) {
                return ResultObj.SERVER_BUSY;
            }

            /**
             * 修改
             *
             * @param salesVo
             */
            @Override
            public ResultObj updateSales(SalesVo salesVo) {
                return ResultObj.SERVER_BUSY;
            }

            /**
             * 删除
             *
             * @param id
             */
            @Override
            public ResultObj deleteSales(Integer id) {
                return ResultObj.SERVER_BUSY;
            }

            /**
             * 批量删除
             *
             * @param salesVo
             */
            @Override
            public ResultObj batchDeleteSalesforMenzhen(SalesVo salesVo) {
                return ResultObj.SERVER_BUSY;
            }

            /**
             * 批量修改为收费
             *
             * @param salesVo
             */
            @Override
            public ResultObj batchUpdateSalesforMenzhen(SalesVo salesVo) {
                return ResultObj.SERVER_BUSY;
            }

            /**
             * 批量修改为已经出库
             *
             * @param salesVo
             */
            @Override
            public ResultObj batchUpdateSalesIsOut(SalesVo salesVo) {
                return ResultObj.SERVER_BUSY;
            }

            /**
             * 查询--门诊药单
             *
             * @param salesVo
             */
            @Override
            public DataGridView loadAllSalesInMenZhen(SalesVo salesVo) {
                return new DataGridView("服务降级，服务器忙，请稍后重试！调用查询--门诊药单方法失败");
            }
        };
    }
}
